package cn.bopomo.dealer.base.db;

import java.util.List;

import cn.bopomo.dealer.base.exception.SystemException;
import cn.bopomo.dealer.base.vo.AuGroup;
import cn.bopomo.dealer.base.vo.ModuleList;

public interface IAuGroupDAO {
	
	/**
	 * 增加权限分组
	 * @param group
	 * @return
	 */
	String insertAuGroup(AuGroup group);
	
	/**
	 * 更新权限分组
	 * @param group
	 * @return
	 */
	String updateAuGroup(AuGroup group);
	
	/**
	 * 删除权限分组
	 * @param group
	 * @return
	 */
	String deleteAuGroup(AuGroup group);
	
	/**
	 * 获取所有权限分组
	 * @return
	 * @throws SystemException
	 */
	List selectGroups() throws SystemException;
	
	/**
	 * 根据模块来查找该模块对应的权限分组
	 * @param module
	 * @return
	 * @throws SystemException
	 */
	List selectGroups(ModuleList module) throws SystemException;
	
	/**
	 * 根据权限标签查找拥有该权限标签的权限组列表
	 * @param tag		权限标签
	 * @return
	 * @throws SystemException
	 */
	List selectGroupsByAuthorize(String tag) throws SystemException;
	
	/**
	 * 根据权限分组的ID查询权限分组明细
	 * @param id
	 * @return
	 * @throws SystemException
	 */
	AuGroup selectGroup(Integer id) throws SystemException;

	AuGroup selectGroup(String groupName, ModuleList module) throws SystemException;
	
	List selectGroups(String idList) throws SystemException;
}
